package team.southcat.wsyygh.hospital.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import org.apache.ibatis.annotations.Mapper;
import team.southcat.wsyygh.common.result.Result;
import team.southcat.wsyygh.model.pojo.hospital.Schedule;
import team.southcat.wsyygh.model.pojo.hospital.ScheduleVo;
import team.southcat.wsyygh.model.pojo.order.ScheduleOrderVo;

import java.util.List;
import java.util.Map;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author QiuSiYi
 * @since 2023-04-20
 */
public interface ScheduleService extends IService<Schedule> {

    Page getSchedulePageList(int page, int limit, ScheduleVo scheduleVo);

    Result addSchedule(ScheduleVo schedule, String adminId);

    Result getScheduleById(Integer id);

    Result updateSchedule(Schedule schedule);

    //通过医生id查找排班
    List<Schedule> getScheduleByDoctorIds(List<Long> doctorIds);

    Map<String, Object> getBookingScheduleRule(Integer page, Integer limit, String hospitalId, String departmentId);

    List<ScheduleVo> getDetailSchedule(String hoscode, String depcode, String workDate);

    ScheduleVo getByScheduleId(String scheduleId);

    ScheduleOrderVo getScheduleOrderVo(String scheduleId);

    void update(Schedule schedule);

}
